/*
 * CreaCliente.java
 *
 * Created on 23 de febrero de 2006, 7:40
 */

package administrador;
import javax.swing.*;
import java.sql.*;
import java.text.NumberFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 *
 * @author  daniel1
 */
public class CreaCliente extends javax.swing.JFrame {

    String fecha;
    Conexion conexion;
    Facturacion facturaVent;
    NotaCD notaCD;
    Nota_de_Venta notaVenta;
    KardexInOut kardexInOut;
    Vent_Deudas vent_deudas;
    boolean peticionDeFacturacion = false;
    String bandera;
    Usuario user;

    NumberFormat nf = NumberFormat.getNumberInstance();
    
    /** Creates new form CreaCliente */
    public CreaCliente(Conexion c, String cod, Usuario user) {

        if (cod.equals("P")) {
            cod="";
            this.user = user;

            peticionDeFacturacion = true;
            conexion = c;
            initComponents();

            txt_cod.setText(cod);
            this.setVisible(true);
            this.setBounds(100, 50, 470, 600);
            fecha = new java.sql.Date(System.currentTimeMillis()).toString();
            lbl_fact.setText(fecha);

            this.setTitle("Nuevo Proveedor");
            //Preparo Presentacion:
            lbl_cedula.setText("RUC/CI:");
            lbl_nombre.setText("EMPRESA/NOM:");
            lbl_apellido.setText("CONTACTO:");
            lbl_direccion.setText("DIRECCION:");
            lbl_telefono.setText("TELEFONO:");
            ck_proveedor.setSelected(true);
            ck_proveedor.setEnabled(false);

            if (cod.equals("")) {
                txt_cod.setEditable(true);
            }

            //Intenta Abrir:
            if (BuscaSiExiste()) {
                llenoDatosCliente();
                bt_registrar.setText("Modificar");
                bt_cuentas.setEnabled(true);
                bt_cuentas1.setEnabled(true);
                this.setTitle("Modifica Cliente Existente");
            } else {
                //Lleno con una fecha de Activacion Nueva:
                lbl_fact.setText(fecha);
            }
            ck_proveedor.setSelected(true);
            ck_proveedor.setEnabled(false);
            bandera = "CreaProveedores";
        } else {

            this.user = user;
            conexion = c;
            initComponents();
            txt_cod.setText(cod);
            this.setBounds(50, 50, 470, 600);
            this.setVisible(true);
            fecha = new java.sql.Date(System.currentTimeMillis()).toString();

            //Intenta Abrir:
            if (BuscaSiExiste()) {
                llenoDatosCliente();
            } else {
                //Lleno con una fecha de Activacion Nueva:
                lbl_fact.setText(fecha);
            }

        }
        
        //Quito el boton de borrado para el Vendedor:
        String priv=user.getPrivilegio();
        if(priv.equals("e")){
        
        bt_borrar.setVisible(false);
        }
        //*******************************************
        
        

    }

    
    public CreaCliente(Conexion c,String cod,Facturacion fEnt,Usuario user) {
        this.user=user;
        bandera="Facturacion";
        peticionDeFacturacion=true;
        facturaVent=fEnt;
        conexion=c;
        initComponents();
        txt_cod.setText(cod);
        this.setVisible(true);
        this.setBounds(100, 50, 470, 600);
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
	lbl_fact.setText(fecha); 
        
        this.setTitle("Nuevo Cliente");
        //Ya que no es Proveedor:
        ck_proveedor.setSelected(false);
        ck_proveedor.setEnabled(false);
        
        
        if(cod.equals("")){
        txt_cod.setEditable(true);
        }
        
        //Ya que no es Proveedor:
        ck_proveedor.setSelected(false);
        ck_proveedor.setEnabled(false);
        
        //Intenta Abrir:
        if(BuscaSiExiste()){
        llenoDatosCliente();
        bt_registrar.setText("Modificar");
        bt_cuentas.setEnabled(true);
        bt_cuentas1.setEnabled(true);
        this.setTitle("Modifica Cliente Existente");
        }else{
        //Lleno con una fecha de Activacion Nueva:
        lbl_fact.setText(fecha); 
        }
    }
    
    public CreaCliente(Conexion c,String cod,Nota_de_Venta notaVenta,Usuario user) {
        this.user=user;
        bandera="NotadeVenta";
        peticionDeFacturacion=true;
        this.notaVenta=notaVenta;
        conexion=c;
        initComponents();
        txt_cod.setText(cod);
        this.setVisible(true);
        this.setBounds(100, 50, 470, 600);
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
	lbl_fact.setText(fecha); 
        
        this.setTitle("Nuevo Cliente");
        
        if(cod.equals("")){
        txt_cod.setEditable(true);
        }
        
        //Ya que no es Proveedor:
        ck_proveedor.setSelected(false);
        ck_proveedor.setEnabled(false);
        
        //Intenta Abrir:
        if(BuscaSiExiste()){
        llenoDatosCliente();
        bt_registrar.setText("Modificar");
        bt_cuentas.setEnabled(true);
        bt_cuentas1.setEnabled(true);
        this.setTitle("Modifica Cliente Existente");
        }else{
        //Lleno con una fecha de Activacion Nueva:
        lbl_fact.setText(fecha); 
        }
    }
    
    public CreaCliente(Conexion c,String cod,NotaCD fEnt,Usuario user) {
        this.user=user;
        bandera="NotaCD";
        peticionDeFacturacion=true;
        notaCD=fEnt;
        conexion=c;
        initComponents();
        txt_cod.setText(cod);
        this.setVisible(true);
        this.setBounds(100, 50, 470, 600);
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
	lbl_fact.setText(fecha); 
        
        this.setTitle("Nuevo Cliente");
        
        if(cod.equals("")){
        txt_cod.setEditable(true);
        }
        
        //Intenta Abrir:
        if(BuscaSiExiste()){
        llenoDatosCliente();
        bt_registrar.setText("Modificar");
        bt_cuentas.setEnabled(true);
        bt_cuentas1.setEnabled(true);
        this.setTitle("Modifica Cliente Existente");
        }else{
        //Lleno con una fecha de Activacion Nueva:
        lbl_fact.setText(fecha); 
        }
    }
    
    public CreaCliente(Conexion c,String cod,KardexInOut fEnt,Usuario user) {
        this.user=user;
        bandera="KardexInOut";
        peticionDeFacturacion=true;
        kardexInOut=fEnt;
        conexion=c;
        initComponents();
        txt_cod.setText(cod);
        this.setVisible(true);
        this.setBounds(100, 50, 470, 600);
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
	lbl_fact.setText(fecha); 
        
        this.setTitle("Nuevo Proveedor");
        //Preparo Presentacion:
        lbl_cedula.setText("RUC/CI:");
        lbl_nombre.setText("EMPRESA/NOM:");
        lbl_apellido.setText("CONTACTO:");
        lbl_direccion.setText("DIRECCION:");
        lbl_telefono.setText("TELEFONO:");
        ck_proveedor.setSelected(true);
        ck_proveedor.setEnabled(false);
        
        
        if(cod.equals("")){
        txt_cod.setEditable(true);
        }
        
        
        //Intenta Abrir:
        if(BuscaSiExiste()){
        llenoDatosCliente();
        bt_registrar.setText("Modificar");
        bt_cuentas.setEnabled(true);
        bt_cuentas1.setEnabled(true);
        this.setTitle("Modifica Cliente Existente");
        }else{
        //Lleno con una fecha de Activacion Nueva:Nuevo Cliente
        lbl_fact.setText(fecha); 
        }
        bandera="CreaProveedores";
    }
    
    //Si la ventana es para la creacion de Proveedores
    public CreaCliente(Conexion c,String cod,Vent_Deudas vEnt,Usuario user) {
        this.user=user;
        vent_deudas=vEnt;
        peticionDeFacturacion=true;
        conexion=c;
        initComponents();
        
        txt_cod.setText(cod);
        this.setVisible(true);
        this.setBounds(100, 50, 470, 600);
        fecha=new java.sql.Date(System.currentTimeMillis()).toString();
	lbl_fact.setText(fecha); 
        
        this.setTitle("Nuevo Proveedor");
        //Preparo Presentacion:
        lbl_cedula.setText("RUC/CI:");
        lbl_nombre.setText("EMPRESA/NOM:");
        lbl_apellido.setText("CONTACTO:");
        lbl_direccion.setText("DIRECCION:");
        lbl_telefono.setText("TELEFONO:");
        ck_proveedor.setSelected(true);
        ck_proveedor.setEnabled(false);
        
        if(cod.equals("")){
        txt_cod.setEditable(true);
        }
        
        //Intenta Abrir:
        if(BuscaSiExiste()){
        llenoDatosCliente();
        bt_registrar.setText("Modificar");
        bt_cuentas.setEnabled(true);
        bt_cuentas1.setEnabled(true);
        this.setTitle("Modifica Cliente Existente");
        }else{
        //Lleno con una fecha de Activacion Nueva:
        lbl_fact.setText(fecha); 
        }
        
        bandera="CreaProveedores";
    }
    
    
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
        
     
    
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        bgrupo = new javax.swing.ButtonGroup();
        jPanel1 = new javax.swing.JPanel();
        lbl_cedula = new javax.swing.JLabel();
        txt_cod = new javax.swing.JTextField();
        txt_nom = new javax.swing.JTextField();
        lbl_nombre = new javax.swing.JLabel();
        lbl_apellido = new javax.swing.JLabel();
        txt_ape = new javax.swing.JTextField();
        lbl_direccion = new javax.swing.JLabel();
        txt_dir = new javax.swing.JTextField();
        lbl_telefono = new javax.swing.JLabel();
        txt_tel = new javax.swing.JTextField();
        bt_registrar = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();
        bt_borrar = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        bt_new = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        txt_clave = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        r1 = new javax.swing.JRadioButton();
        r2 = new javax.swing.JRadioButton();
        cb_civ = new javax.swing.JComboBox();
        jLabel8 = new javax.swing.JLabel();
        txt_ocu = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        txt_cel = new javax.swing.JTextField();
        jLabel10 = new javax.swing.JLabel();
        txt_pai = new javax.swing.JTextField();
        jLabel11 = new javax.swing.JLabel();
        txt_pro = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        txt_ciu = new javax.swing.JTextField();
        jLabel13 = new javax.swing.JLabel();
        txt_sec = new javax.swing.JTextField();
        jLabel14 = new javax.swing.JLabel();
        txt_ano = new javax.swing.JTextField();
        txt_mes = new javax.swing.JTextField();
        txt_dia = new javax.swing.JTextField();
        jLabel15 = new javax.swing.JLabel();
        jLabel16 = new javax.swing.JLabel();
        lbl_fact = new javax.swing.JLabel();
        jLabel19 = new javax.swing.JLabel();
        jLabel17 = new javax.swing.JLabel();
        txt_email = new javax.swing.JTextField();
        jLabel20 = new javax.swing.JLabel();
        txt_cobrar = new javax.swing.JTextField();
        bt_cuentas = new javax.swing.JButton();
        jPanel3 = new javax.swing.JPanel();
        ck_proveedor = new javax.swing.JCheckBox();
        bt_cuentas1 = new javax.swing.JButton();
        txt_deuda = new javax.swing.JTextField();
        jLabel21 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        getContentPane().setLayout(null);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Datos Obligatorios", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, new java.awt.Color(102, 102, 102)));
        jPanel1.setLayout(null);

        lbl_cedula.setText("Cedula");
        jPanel1.add(lbl_cedula);
        lbl_cedula.setBounds(10, 40, 80, 20);

        txt_cod.setEditable(false);
        txt_cod.setNextFocusableComponent(txt_nom);
        txt_cod.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txt_codKeyTyped(evt);
            }
        });
        jPanel1.add(txt_cod);
        txt_cod.setBounds(90, 40, 110, 20);

        txt_nom.setNextFocusableComponent(txt_ape);
        jPanel1.add(txt_nom);
        txt_nom.setBounds(90, 70, 190, 20);

        lbl_nombre.setText("Nombre");
        jPanel1.add(lbl_nombre);
        lbl_nombre.setBounds(10, 70, 80, 20);

        lbl_apellido.setText("Apellido");
        jPanel1.add(lbl_apellido);
        lbl_apellido.setBounds(10, 100, 80, 20);

        txt_ape.setNextFocusableComponent(txt_dir);
        jPanel1.add(txt_ape);
        txt_ape.setBounds(90, 100, 190, 20);

        lbl_direccion.setText("Direccion");
        jPanel1.add(lbl_direccion);
        lbl_direccion.setBounds(10, 130, 80, 20);

        txt_dir.setNextFocusableComponent(txt_tel);
        jPanel1.add(txt_dir);
        txt_dir.setBounds(90, 130, 190, 20);

        lbl_telefono.setText("Telefono");
        jPanel1.add(lbl_telefono);
        lbl_telefono.setBounds(10, 160, 80, 20);

        txt_tel.setNextFocusableComponent(bt_registrar);
        txt_tel.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txt_telKeyTyped(evt);
            }
        });
        jPanel1.add(txt_tel);
        txt_tel.setBounds(90, 160, 190, 20);

        bt_registrar.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        bt_registrar.setForeground(new java.awt.Color(0, 102, 51));
        bt_registrar.setText("Registrar");
        bt_registrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_registrarActionPerformed(evt);
            }
        });
        jPanel1.add(bt_registrar);
        bt_registrar.setBounds(300, 60, 120, 30);

        jButton1.setText("Buscar");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        jPanel1.add(jButton1);
        jButton1.setBounds(210, 40, 70, 20);

        bt_borrar.setForeground(new java.awt.Color(153, 51, 0));
        bt_borrar.setText("Borrar");
        bt_borrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_borrarActionPerformed(evt);
            }
        });
        jPanel1.add(bt_borrar);
        bt_borrar.setBounds(300, 160, 120, 20);

        jButton3.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jButton3.setForeground(new java.awt.Color(0, 51, 153));
        jButton3.setText("Llenar Factura");
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });
        jPanel1.add(jButton3);
        jButton3.setBounds(300, 30, 120, 30);

        bt_new.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        bt_new.setText("Nuevo Cliente");
        bt_new.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_newActionPerformed(evt);
            }
        });
        jPanel1.add(bt_new);
        bt_new.setBounds(300, 130, 120, 30);

        getContentPane().add(jPanel1);
        jPanel1.setBounds(10, 10, 440, 200);

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Opcionales", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, new java.awt.Color(153, 153, 153)));
        jPanel2.setLayout(null);

        txt_clave.setNextFocusableComponent(txt_ano);
        jPanel2.add(txt_clave);
        txt_clave.setBounds(90, 20, 110, 20);

        jLabel6.setText("Clave");
        jPanel2.add(jLabel6);
        jLabel6.setBounds(30, 20, 50, 20);

        jLabel7.setText("Estado Civil");
        jPanel2.add(jLabel7);
        jLabel7.setBounds(30, 80, 60, 20);

        bgrupo.add(r1);
        r1.setSelected(true);
        r1.setText("Masculino");
        r1.setNextFocusableComponent(txt_email);
        r1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                r1ActionPerformed(evt);
            }
        });
        jPanel2.add(r1);
        r1.setBounds(220, 80, 71, 23);

        bgrupo.add(r2);
        r2.setText("Femenino");
        r2.setNextFocusableComponent(txt_email);
        jPanel2.add(r2);
        r2.setBounds(310, 80, 71, 23);

        cb_civ.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "casado", "soltero" }));
        cb_civ.setNextFocusableComponent(r1);
        jPanel2.add(cb_civ);
        cb_civ.setBounds(90, 80, 110, 20);

        jLabel8.setText("Ocupacion");
        jPanel2.add(jLabel8);
        jLabel8.setBounds(30, 140, 70, 20);

        txt_ocu.setNextFocusableComponent(txt_pai);
        jPanel2.add(txt_ocu);
        txt_ocu.setBounds(90, 140, 300, 20);

        jLabel9.setText("Celular");
        jPanel2.add(jLabel9);
        jLabel9.setBounds(220, 110, 60, 20);

        txt_cel.setNextFocusableComponent(txt_ocu);
        txt_cel.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_celActionPerformed(evt);
            }
        });
        jPanel2.add(txt_cel);
        txt_cel.setBounds(280, 110, 110, 20);

        jLabel10.setText("Pais");
        jPanel2.add(jLabel10);
        jLabel10.setBounds(30, 170, 19, 14);

        txt_pai.setNextFocusableComponent(txt_pro);
        jPanel2.add(txt_pai);
        txt_pai.setBounds(90, 170, 110, 20);

        jLabel11.setText("Provincia");
        jPanel2.add(jLabel11);
        jLabel11.setBounds(220, 170, 60, 20);

        txt_pro.setNextFocusableComponent(txt_ciu);
        jPanel2.add(txt_pro);
        txt_pro.setBounds(280, 170, 110, 20);

        jLabel12.setText("Ciudad");
        jPanel2.add(jLabel12);
        jLabel12.setBounds(30, 200, 33, 14);

        txt_ciu.setNextFocusableComponent(txt_sec);
        jPanel2.add(txt_ciu);
        txt_ciu.setBounds(90, 200, 110, 20);

        jLabel13.setText("Sector");
        jPanel2.add(jLabel13);
        jLabel13.setBounds(220, 200, 60, 20);

        txt_sec.setNextFocusableComponent(txt_ocu);
        jPanel2.add(txt_sec);
        txt_sec.setBounds(280, 200, 110, 20);

        jLabel14.setText("Fecha Nacimiento");
        jPanel2.add(jLabel14);
        jLabel14.setBounds(30, 50, 100, 20);

        txt_ano.setText("año");
        txt_ano.setNextFocusableComponent(txt_mes);
        txt_ano.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_anoActionPerformed(evt);
            }
        });
        jPanel2.add(txt_ano);
        txt_ano.setBounds(130, 50, 60, 20);

        txt_mes.setText("mes");
        txt_mes.setNextFocusableComponent(txt_dia);
        jPanel2.add(txt_mes);
        txt_mes.setBounds(210, 50, 40, 20);

        txt_dia.setText("dia");
        txt_dia.setNextFocusableComponent(cb_civ);
        jPanel2.add(txt_dia);
        txt_dia.setBounds(270, 50, 30, 20);

        jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel15.setText("-");
        jPanel2.add(jLabel15);
        jLabel15.setBounds(190, 50, 20, 20);

        jLabel16.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel16.setText("-");
        jPanel2.add(jLabel16);
        jLabel16.setBounds(250, 50, 20, 20);

        lbl_fact.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        lbl_fact.setForeground(new java.awt.Color(153, 153, 153));
        lbl_fact.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jPanel2.add(lbl_fact);
        lbl_fact.setBounds(330, 10, 90, 40);

        jLabel19.setText("Fecha  Activacion:");
        jPanel2.add(jLabel19);
        jLabel19.setBounds(250, 20, 100, 20);

        jLabel17.setText("E-mail");
        jPanel2.add(jLabel17);
        jLabel17.setBounds(30, 110, 60, 20);

        txt_email.setText("@");
        txt_email.setNextFocusableComponent(txt_cel);
        jPanel2.add(txt_email);
        txt_email.setBounds(90, 110, 100, 20);

        jLabel20.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel20.setForeground(new java.awt.Color(0, 51, 102));
        jLabel20.setText("   Saldo Cobrar: ");
        jPanel2.add(jLabel20);
        jLabel20.setBounds(150, 230, 140, 14);

        txt_cobrar.setEditable(false);
        txt_cobrar.setFont(new java.awt.Font("Californian FB", 1, 18)); // NOI18N
        txt_cobrar.setForeground(new java.awt.Color(0, 51, 102));
        txt_cobrar.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        txt_cobrar.setText("0,00");
        txt_cobrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_cobrarActionPerformed(evt);
            }
        });
        jPanel2.add(txt_cobrar);
        txt_cobrar.setBounds(160, 250, 120, 30);

        bt_cuentas.setText("CuentasxCobrar");
        bt_cuentas.setEnabled(false);
        bt_cuentas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_cuentasActionPerformed(evt);
            }
        });
        jPanel2.add(bt_cuentas);
        bt_cuentas.setBounds(160, 280, 120, 30);

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Es Proveedor ?"));
        jPanel3.setLayout(null);

        ck_proveedor.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        ck_proveedor.setText("Proveedor");
        ck_proveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ck_proveedorActionPerformed(evt);
            }
        });
        jPanel3.add(ck_proveedor);
        ck_proveedor.setBounds(30, 20, 90, 25);

        jPanel2.add(jPanel3);
        jPanel3.setBounds(20, 230, 130, 50);

        bt_cuentas1.setText("CuentasxPagar");
        bt_cuentas1.setEnabled(false);
        bt_cuentas1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                bt_cuentas1ActionPerformed(evt);
            }
        });
        jPanel2.add(bt_cuentas1);
        bt_cuentas1.setBounds(300, 280, 120, 30);

        txt_deuda.setEditable(false);
        txt_deuda.setFont(new java.awt.Font("Californian FB", 1, 18)); // NOI18N
        txt_deuda.setForeground(new java.awt.Color(153, 51, 0));
        txt_deuda.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
        txt_deuda.setText("0,00");
        txt_deuda.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txt_deudaActionPerformed(evt);
            }
        });
        jPanel2.add(txt_deuda);
        txt_deuda.setBounds(300, 250, 120, 30);

        jLabel21.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel21.setForeground(new java.awt.Color(153, 51, 0));
        jLabel21.setText("   Saldo Pagar: ");
        jPanel2.add(jLabel21);
        jLabel21.setBounds(290, 234, 140, 10);

        getContentPane().add(jPanel2);
        jPanel2.setBounds(10, 210, 440, 330);

        pack();
    }// </editor-fold>//GEN-END:initComponents

       public void limpiarNuevo(){
        bt_registrar.setText("Registrar");
        bt_cuentas.setEnabled(false);
        bt_cuentas1.setEnabled(false);
        txt_cod.setEnabled(true);
        txt_cod.setEditable(true);
        txt_cod.setText("");
        txt_nom.setText("");
        txt_ape.setText("");
        txt_dir.setText("");
        txt_tel.setText("");
        txt_clave.setText("");
        txt_ano.setText("ano");
        txt_mes.setText("mes");
        txt_dia.setText("dia");
        r1.setSelected(true);
        cb_civ.setSelectedIndex(0);
        txt_email.setText("@");
        txt_cel.setText("");
        txt_ocu.setText("");
        txt_pai.setText("");
        txt_pro.setText("");
        txt_ciu.setText("");
        txt_sec.setText("");
        txt_cobrar.setText("");
        
    }


    private void bt_newActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_newActionPerformed
// TODO add your handling code here:
    limpiarNuevo();
    }//GEN-LAST:event_bt_newActionPerformed

    private void bt_borrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_borrarActionPerformed
// TODO add your handling code here:
         String id_cliente=txt_cod.getText();
        
        if(esCliente(id_cliente)){
         
            int opccion=0;
            opccion=JOptionPane.showConfirmDialog(this,"Seguro Desea Borrar el cliente con la cedula:"+id_cliente+" "+txt_nom.getText(),"Alerta",0);
            if(opccion==0){
             conexion.actualizarBase("delete from cliente where cod_cliente like '"+id_cliente+"'");   
             limpiarNuevo();
            
            }
            
             
        }
        else
        {
        JOptionPane.showMessageDialog(this,"Este cliente no ha sido creado Todavia","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }
        
        
}//GEN-LAST:event_bt_borrarActionPerformed

    public boolean esCliente(String codigo){
    boolean resp=false;
    ResultSet r;
    r=conexion.consultarBase("select * from cliente where cod_cliente like '"+codigo+"'");
    int filas=conexion.obtenerFilas(r);
    if(filas>0){
    resp=true;
    }
        
    return resp;
    }
    
    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
// TODO add your handling code here:
        String id_cliente=txt_cod.getText();
        if(bandera.equals("Facturacion")){
        if(esCliente(id_cliente)){
            facturaVent.txt_id.setText(id_cliente);
            boolean esProveedor=ck_proveedor.isSelected();
            muestraEnFacturacion(esProveedor);
        this.dispose();
        }
        else
        {
        JOptionPane.showMessageDialog(this,"Este cliente no ha sido creado Todavia","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }
        }
        
        if(bandera.equals("NotaCD")){
        if(esCliente(id_cliente)){
            
            notaCD.txt_id.setText(id_cliente);
            muestraNotaCD();
        this.dispose();
        }
        else
        {
        JOptionPane.showMessageDialog(this,"Este cliente no ha sido creado Todavia","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }
        }
        if(bandera.equals("NotadeVenta")){
        if(esCliente(id_cliente)){
            
            notaVenta.txt_id.setText(id_cliente);
            muestraNotaVenta();
        this.dispose();
        }
        else
        {
        JOptionPane.showMessageDialog(this,"Este cliente no ha sido creado Todavia","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }
        }
        if(bandera.equals("KardexInOut")||bandera.equals("CreaProveedores")){
        if(esCliente(id_cliente)){
            
            kardexInOut.txt_id.setText(id_cliente);
            muestraKardexInOut();
        this.dispose();
        }
        else
        {
        JOptionPane.showMessageDialog(this,"Este cliente no ha sido creado Todavia","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }
        }
    }//GEN-LAST:event_jButton3ActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
      boolean esProveedor=ck_proveedor.isSelected();  
      BuscadorCliente bc=new BuscadorCliente(conexion,this,esProveedor);
      
       
    }//GEN-LAST:event_jButton1ActionPerformed

    private void txt_celActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txt_celActionPerformed
// TODO add your handling code here:
    }//GEN-LAST:event_txt_celActionPerformed
    
    private void bt_registrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_registrarActionPerformed
// TODO add your handling code here:
        
        
        //Valido que llenen todos los datos:
        if(txt_nom.getText().equals("")||txt_ape.getText().equals("")||txt_dir.getText().equals("")||txt_tel.getText().equals("")) {
            JOptionPane.showMessageDialog(this,"Los datos del Cliente no han sido llenados Correctamente","Informacion",JOptionPane.INFORMATION_MESSAGE);
        }else{
            //Tomo los Datos para la insercion:
            String sexo;
            if(r1.isSelected()){
                sexo="masculino";
            } else{sexo="femenino";}
            
            int ec=cb_civ.getSelectedIndex();
            String estado;
            if(ec==1){
                estado="soltero";
            }else{estado="casado";}
            
            String clave=txt_clave.getText();
            clave=clave.replaceAll(" ","");
            
            //Controla el Ingreso de Claves:
            if(clave.equals("")){
                clave="null";
            }else{}
            
            //Saco la Fecha Nacimiento
            String fechaNac=txt_ano.getText()+"-"+txt_mes.getText()+"-"+txt_dia.getText();
            fechaNac=fechaNac.replaceAll(" ", "");
            //System.out.println("La fecha de nacimiento es:"+fechaNac);
            try{
                
                java.sql.Date fecha1;
                String qfe=txt_ano.getText()+"-"+txt_mes.getText()+"-"+txt_dia.getText();
                fecha1=java.sql.Date.valueOf(fechaNac);
                
                fechaNac=fecha1.toString();
               // System.out.println("Fecha Valida:"+fechaNac);
            }catch(Exception e){fechaNac="2000-01-01";System.out.println("Fecha NO Valida:"+fechaNac);
            };
            //Valido Membresia
            String membresia;
            if(clave==null){
                membresia="false";
            }else{
                membresia="true";
            }
            //Registro si estos datos coresponden a un Proovedor:
             boolean esProveedor=ck_proveedor.isSelected();
            
            //Realizo la insercion del Cliente si es el caso:
            
            if(bt_registrar.getText().equals("Registrar"))
            {
                
                if (!conexion.insertarDatosR("insert into cliente values('" + txt_cod.getText() + "','" + clave + "','" + txt_nom.getText() + "','" + txt_ape.getText() + "','" + sexo + "','" + estado + "','" + txt_ocu.getText() + "','" + txt_dir.getText() + "','" + txt_tel.getText() + "','" + txt_cel.getText() + "','" + txt_email.getText() + "','" + txt_pai.getText() + "','" + txt_pro.getText() + "','" + txt_ciu.getText() + "','" + txt_sec.getText() + "','" + fechaNac + "','" + lbl_fact.getText() + "'," + membresia + "," + 0 + "," + esProveedor + ")")) {
                    JOptionPane.showMessageDialog(this, "No se realizo la insercion otro usuario posee esta clave", "Informacion", JOptionPane.INFORMATION_MESSAGE);
                } else {
                
                    //conexion.insertarDatos("insert into observacion values('"+txt_cod.getText()+"','"+area.getText()+"')");
                    //Muestro en la ventana de Facturacion:
                    if (peticionDeFacturacion == true) {
                        
                        if(bandera.equals("Facturacion")){
                        muestraEnFacturacion(esProveedor);
                        }
                    }
                        if(bandera.equals("NotadeVenta")){
                        muestraNotaVenta();
                        }
                        if(bandera.equals("NotaCD")){
                        muestraNotaCD();
                        }
                        if(bandera.equals("KardexInOut")||bandera.equals("CreaProveedores")){
                        muestraKardexInOut();
                        }
                    //cierro ventana
                    this.dispose();
                }

            } else {
           //Realizo la moficacion del Cliente si es el caso que existe:
               // System.out.println("Aplasto Modificar");
                 conexion.actualizarBase("update cliente set clave='"+clave+"',nombre='"+txt_nom.getText()+"',apellido='"+txt_ape.getText()+"',sexo='"+sexo+"',e_civil='"+estado+"',actividad='"+txt_ocu.getText()+"',direccion='"+txt_dir.getText()+"',telefono='"+txt_tel.getText()+"',celular='"+txt_cel.getText()+"',email='"+txt_email.getText()+"',pais_cli='"+txt_pai.getText()+"',prov_cli='"+txt_pro.getText()+"',ciudad_cli='"+txt_ciu.getText()+"',sector='"+txt_sec.getText()+"',fecha_nac='"+fechaNac+"',fecha_act='"+lbl_fact.getText()+"',membresia="+membresia+",Proveedor="+esProveedor+
                                        " where cod_cliente like '"+txt_cod.getText()+"';");
                 //  conexion.insertarDatos("update observacion set observacion='"+area.getText()+"' where cod_cliente like '"+txt_cod.getText()+"';");
                //Muestro en la ventana de Facturacion:
                if(peticionDeFacturacion==true){
                   if(bandera.equals("Facturacion")){
                        muestraEnFacturacion(esProveedor);
                        }else if(bandera.equals("NotadeVenta")){
                        muestraNotaVenta();
                        }else if(bandera.equals("NotaCD")){
                        muestraNotaCD();
                        }else if(bandera.equals("KardexInOut")){
                        muestraKardexInOut();
                        }
                }
                //cierro ventana
                this.dispose();  
            }
        }
        
    }//GEN-LAST:event_bt_registrarActionPerformed
    public void muestraEnFacturacion(boolean esProveedor){
    if(esProveedor){
    
    }else{
    //En el caso que no sea Proveedor:
    String nombre=txt_nom.getText();
    String apellido=txt_ape.getText();
    String direccion=txt_dir.getText();
    String telefono=txt_tel.getText();
    facturaVent.txt_nom.setText(nombre+" "+apellido);
    facturaVent.txt_id.setText(txt_cod.getText());
    facturaVent.txt_dir.setText(direccion);
    facturaVent.txt_tel.setText(telefono);
    }
    }
    
    public void muestraNotaCD(){
    String nombre=txt_nom.getText();
    String apellido=txt_ape.getText();
    String direccion=txt_dir.getText();
    String telefono=txt_tel.getText();
    notaCD.txt_nom.setText(nombre+" "+apellido);
    notaCD.txt_id.setText(txt_cod.getText());
    notaCD.txt_dir.setText(direccion);
    notaCD.txt_tel.setText(telefono);
    
    }
    
    public void muestraKardexInOut(){
    String nombre=txt_nom.getText();
    String apellido=txt_ape.getText();
    String direccion=txt_dir.getText();
    String telefono=txt_tel.getText();
    kardexInOut.txt_nom.setText(nombre+" "+apellido);
    kardexInOut.txt_id.setText(txt_cod.getText());
    kardexInOut.txt_dir.setText(direccion);
    kardexInOut.txt_tel.setText(telefono);
    
    }
    public void muestraNotaVenta(){
    String nombre=txt_nom.getText();
    String apellido=txt_ape.getText();
    String direccion=txt_dir.getText();
    String telefono=txt_tel.getText();
    notaVenta.txt_nom.setText(nombre+" "+apellido);
    notaVenta.txt_id.setText(txt_cod.getText());
    notaVenta.txt_dir.setText(direccion);
    notaVenta.txt_tel.setText(telefono);
    
    }
    
    public boolean  BuscaSiExiste(){
      boolean respuesta=false;
        ResultSet r;
        r=conexion.consultarBase("select * from cliente where cod_cliente like '"+txt_cod.getText()+"';");
        int filas=conexion.obtenerFilas(r);
        if(filas>0){
        respuesta=true;
        }
    return respuesta;
    }
    
    public void llenoDatosCliente(){
    ResultSet r;
    txt_cod.setEnabled(false);
    r=conexion.consultarBase("select c.* from cliente c where c.cod_cliente like '"+txt_cod.getText()+"';");
    //System.out.println("coidgo:"+txt_cod.getText());
    //r.get
    try{
      r.beforeFirst();
            while(r.next()){
                //Nombre:
                txt_nom.setText((r.getString(3)));
                //System.out.println("Muestra Nombre");
                //Apellido:
                txt_ape.setText((r.getString(4)));
                //System.out.println("Muestra Apellido");
                //Direccion:
                txt_dir.setText((r.getString(8)));
                //System.out.println("Muestra Direccion");
                //Telefono:
                txt_tel.setText((r.getString(9)));
                //System.out.println("Muestra Telefono");
                //Clave:
                txt_clave.setText((r.getString(2)));
                //System.out.println("Muestra Clave");txt_deuda
                
                //Sexo:
                if(r.getObject(5).equals("masculino")||r.getObject(5).equals("null")||r.getObject(5)==null){
                r1.setSelected(true);
                r2.setSelected(false);
                }else{
                r2.setSelected(true);
                r1.setSelected(false);
                }
                //System.out.println("Muestra Sexo");
                
                //e_Civil
                if(r.getObject(6).equals("soltero")||r.getObject(6).equals("null")||r.getObject(3)==null){
                cb_civ.setSelectedIndex(1);
                }else{
                cb_civ.setSelectedIndex(0);
                }
                //System.out.println("Muestra ecivil");
                //Actividad:
                txt_ocu.setText((r.getString(7)));
                
                
                //Celular:
                txt_cel.setText((r.getString(10)));
                //System.out.println("Muestra Celular");
                //Email:
                txt_email.setText((r.getString(11)));
                //System.out.println("Muestra Email");
                //Pais:
                txt_pai.setText((r.getString(12)));
                //System.out.println("Muestra Pais");
                //Provincia:
                txt_pro.setText((r.getString(13)));
                //System.out.println("Muestra Provincia");
                //Ciudad:
                txt_ciu.setText((r.getString(14)));
                //System.out.println("Muestra Ciudad");
                //Sector:
                txt_sec.setText((r.getString(15)));
                //System.out.println("Muestra Sector");
                
                //Fecha Nacimiento:
                //Date fechaDate
                String fechaObte=r.getString(16);
                //System.out.println("Fecha N="+fechaObte);
                //String fechaObte="";
                fechaObte=fechaObte.toString();
                
                String[] fDiv=fechaObte.split("-");
                
                txt_ano.setText(fDiv[0]);
                txt_mes.setText(fDiv[1]);
                txt_dia.setText(fDiv[2]);
                
                //System.out.println("Muestra Fecha NAcimiento");
                //Fecha Activacion:
                lbl_fact.setText((r.getString(17)));
                
                //System.out.println("Muestra Feecha Activacion");
                //Muestro Saldo de Deudas Pendientes:
                 muestroCuentas();
                this.bt_cuentas.setEnabled(true);
                this.bt_cuentas1.setEnabled(true);
                
                //Muestro si es un Proveedor Importante:
                boolean esprov=r.getBoolean(20);
                ck_proveedor.setSelected(esprov);
            }
        }catch(SQLException sqle){
            System.out.println("Error al mostrar los resultados de la consulta");
            System.err.println(sqle);
        }
    
    
    }
    
     public void muestroCuentas() {
        ResultSet res = conexion.consultarBase("SELECT sum(valor) FROM cuentaspendientes c where cod_cliente like  '" + this.txt_cod.getText() + "'  and pagado!='Anulado' and tipo='xpagar'   ;");

        double separa = 0;

        try {
            res.beforeFirst();
            res.next();
            separa = res.getDouble(1);

        } catch (SQLException ex) {
            Logger.getLogger(CreaCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
        double totald = separa;

        txt_deuda.setText(String.valueOf(nf.format(totald)));
        
        
        ResultSet res2 = conexion.consultarBase("SELECT sum(valor) FROM cuentaspendientes c where cod_cliente like  '" + this.txt_cod.getText() + "'  and pagado!='Anulado'  and tipo='xcobrar'    ;");

        double separa2 = 0;

        try {
            res2.beforeFirst();
            res2.next();
            separa2 = res2.getDouble(1);

        } catch (SQLException ex) {
            Logger.getLogger(CreaCliente.class.getName()).log(Level.SEVERE, null, ex);
        }
        double totald2 = separa2;

        txt_cobrar.setText(String.valueOf(nf.format(totald2)));
        
    }
    
    
    private void txt_anoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txt_anoActionPerformed
// TODO add your handling code here:
    }//GEN-LAST:event_txt_anoActionPerformed

    private void r1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_r1ActionPerformed
// TODO add your handling code here:
    }//GEN-LAST:event_r1ActionPerformed

private void txt_cobrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txt_cobrarActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_txt_cobrarActionPerformed

private void bt_cuentasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_cuentasActionPerformed
// TODO add your handling code here:
    
    String codigoCliente=txt_cod.getText().toString();
    Vent_CuentasCobrar vcc=new Vent_CuentasCobrar(conexion,codigoCliente,this,user);
    
}//GEN-LAST:event_bt_cuentasActionPerformed

private void txt_codKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_codKeyTyped
// TODO add your handling code here:
    int t=evt.getKeyChar();
       
        if(t==10){
           this.llenoDatosCliente();
        }
    char c = evt.getKeyChar();
    if (!(Character.isDigit(c) || (c == java.awt.event.KeyEvent.VK_BACK_SPACE) || (c == java.awt.event.KeyEvent.VK_DELETE))) {
          getToolkit().beep();
          evt.consume();
          
    }
    String textoV=txt_cod.getText();
    if(!(textoV.length()<13)){
     evt.consume();
    }
    
}//GEN-LAST:event_txt_codKeyTyped

private void txt_telKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txt_telKeyTyped
// TODO add your handling code here:
     char c = evt.getKeyChar();
    if (!(Character.isDigit(c) || (c == java.awt.event.KeyEvent.VK_BACK_SPACE) || (c == java.awt.event.KeyEvent.VK_DELETE))) {
          getToolkit().beep();
          evt.consume();
          
    }
    String textoV=txt_tel.getText();
    
}//GEN-LAST:event_txt_telKeyTyped

private void ck_proveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ck_proveedorActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_ck_proveedorActionPerformed

    private void bt_cuentas1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_bt_cuentas1ActionPerformed
        // TODO add your handling code here:
         
    String codigoCliente=txt_cod.getText().toString();
    Vent_CuentasPagar vcc=new Vent_CuentasPagar(conexion,codigoCliente,this,user);
    
        
    }//GEN-LAST:event_bt_cuentas1ActionPerformed

    private void txt_deudaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txt_deudaActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txt_deudaActionPerformed
    
   
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup bgrupo;
    private javax.swing.JButton bt_borrar;
    private javax.swing.JButton bt_cuentas;
    private javax.swing.JButton bt_cuentas1;
    private javax.swing.JButton bt_new;
    public javax.swing.JButton bt_registrar;
    private javax.swing.JComboBox cb_civ;
    private javax.swing.JCheckBox ck_proveedor;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton3;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel15;
    private javax.swing.JLabel jLabel16;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel19;
    private javax.swing.JLabel jLabel20;
    private javax.swing.JLabel jLabel21;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JLabel lbl_apellido;
    private javax.swing.JLabel lbl_cedula;
    private javax.swing.JLabel lbl_direccion;
    private javax.swing.JLabel lbl_fact;
    private javax.swing.JLabel lbl_nombre;
    private javax.swing.JLabel lbl_telefono;
    private javax.swing.JRadioButton r1;
    private javax.swing.JRadioButton r2;
    private javax.swing.JTextField txt_ano;
    private javax.swing.JTextField txt_ape;
    private javax.swing.JTextField txt_cel;
    private javax.swing.JTextField txt_ciu;
    private javax.swing.JTextField txt_clave;
    private javax.swing.JTextField txt_cobrar;
    public javax.swing.JTextField txt_cod;
    private javax.swing.JTextField txt_deuda;
    private javax.swing.JTextField txt_dia;
    private javax.swing.JTextField txt_dir;
    private javax.swing.JTextField txt_email;
    private javax.swing.JTextField txt_mes;
    public javax.swing.JTextField txt_nom;
    private javax.swing.JTextField txt_ocu;
    private javax.swing.JTextField txt_pai;
    private javax.swing.JTextField txt_pro;
    private javax.swing.JTextField txt_sec;
    private javax.swing.JTextField txt_tel;
    // End of variables declaration//GEN-END:variables
    
}
